package sad.visao;

import sad.controle.AlternativaControle;
import sad.controle.AvaliacaoControle;
import sad.controle.DisciplinaControle;
import sad.controle.ProfessorControle;
import sad.controle.QuestaoControle;
import sad.controle.RelatorioDiscControle;
import sad.controle.RelatorioProfControle;
import sad.controle.RelatorioQuestaoControle;
import sad.controle.RelatorioSubTopControle;
import sad.controle.RelatorioTopControle;
import sad.controle.SubTopicoControle;
import sad.controle.TopicoControle;
import sad.util.Constantes;

public abstract class FabricaDeDialog {
    
    private static DialogAbstrato d = null;
    
    public static DialogAbstrato criarDialog(java.awt.Frame parent, String p, Object[] editable){
        
        /* 
         * Esta primeira parte do metodo cria os jdialog referente ao cadastro
         * Cada if serve para criar de cadastro diferente
         */
        
        if(p.equals(Constantes.PROFESSOR)){
            d = new CadProfessorDialog(parent, true);
            d.addOuvintes();
            d.setEditableDados(editable);
            ProfessorControle cProf = new ProfessorControle(d);
            d.setModal(true);
            d.setVisible(true);
        }
        if(p.equals(Constantes.DISCIPLINA)){
            d = new CadDisciplinaDialog(parent, true);
            d.addOuvintes();
            d.setEditableDados(editable);
            DisciplinaControle cDisc =  new DisciplinaControle(d);
            d.setModal(true);
            d.setVisible(true);
        }
        if(p.equals(Constantes.AVALIACAO)){
            
            d = new CadAvaliacaoDialog(parent, true);
            d.addOuvintes();
            d.setEditableDados(editable);
            AvaliacaoControle cAval =  new AvaliacaoControle(d);
            d.setModal(true);
            d.setVisible(true);
        }
        if(p.equals(Constantes.TOPICO)){
            d = new CadTopicoDialog(parent, true);
            d.addOuvintes();
            d.setEditableDados(editable);
            TopicoControle cTop =  new TopicoControle(d);
            d.setModal(true);
            d.setVisible(true);
        }
        if(p.equals(Constantes.SUBTOPICO)){
            d = new CadSubTopicoDialog(parent, true);
            d.addOuvintes();
            d.setEditableDados(editable);
            SubTopicoControle c_sTop =  new SubTopicoControle(d);
            d.setModal(true);
            d.setVisible(true);
        }
        
        if(p.equals(Constantes.QUESTAO)){
            d = new CadQuestaoDialog(parent, true);
            d.addOuvintes();
            d.setEditableDados(editable);
            QuestaoControle c_questao =  new QuestaoControle(d);
            d.setModal(true);
            d.setVisible(true);
        }
        if(p.equals(Constantes.ALTERNATIVA)){
            d = new CadAlternativaDialog(parent, true);
            d.addOuvintes();
            d.setEditableDados(editable);
            AlternativaControle c_alter =  new AlternativaControle(d);
            d.setModal(true);
            d.setVisible(true);
        }

        /*
         * Cria os jdialod dos relatorios
         */
        
        if(p.equals(Constantes.RELATORIO_PROFESSOR)){
            d = new ListProfDialog(parent, true);
            d.addOuvintes();
            RelatorioProfControle lControl =  new RelatorioProfControle(d);
        }
        if(p.equals(Constantes.RELATORIO_DISCIPLINA)){
            d = new ListDiscDialog(parent, true);
            d.addOuvintes();
            RelatorioDiscControle lControl =  new RelatorioDiscControle(d);
        }
        if(p.equals(Constantes.RELATORIO_TOPICO)){
            d = new ListTopDialog(parent, true);
            d.addOuvintes();
            RelatorioTopControle lControl =  new RelatorioTopControle(d);
        }
        if(p.equals(Constantes.RELATORIO_SUBTOPICO)){
            d = new ListSubTopDialog(parent, true);
            d.addOuvintes();
            RelatorioSubTopControle lControl =  new RelatorioSubTopControle(d);
        }
        if(p.equals(Constantes.RELATORIO_QUESTAO)){
            d = new ListQuestaoDialog(parent, true);
            d.addOuvintes();
            RelatorioQuestaoControle lControl =  new RelatorioQuestaoControle(d);
        }
       return d;
    }
}